// -*- c++ -*-
/*
 * Copyright 2018-present ifm electronic, gmbh
 * Copyright 2017 Love Park Robotics, LLC
 * SPDX-License-Identifier: Apache-2.0
 */

#ifndef __IFM3D_CAMERA_VERSION_H__
#define __IFM3D_CAMERA_VERSION_H__

#define IFM3D_LIBRARY_NAME "@GIT_PROJECT_NAME@"

/* compile-time API version detection */
/* variable expansion comes from CMakeLists.txt -- don't mess with these */
#define IFM3D_VERSION_MAJOR @IFM3D_VERSION_MAJOR@
#define IFM3D_VERSION_MINOR @IFM3D_VERSION_MINOR@
#define IFM3D_VERSION_PATCH @IFM3D_VERSION_PATCH@

#define IFM3D_MAKE_VERSION(major, minor, patch) \
  ((major) * 10000 + (minor) * 100 + (patch))
#define IFM3D_VERSION \
  IFM3D_MAKE_VERSION( \
        IFM3D_VERSION_MAJOR, \
        IFM3D_VERSION_MINOR, \
        IFM3D_VERSION_PATCH)

namespace ifm3d
{
  /**
   * Runtime API version detection
   *
   * @param[out] major Major version number
   * @param[out] minor Minor version number
   * @param[out] patch Version patch level
   */
  void version(int *major, int *minor, int *patch);

} // end: namespace ifm3d

#endif // __IFM3D_CAMERA_VERSION_H__
